<?php

/*
 * Servicio BLL.
 * @Autor: Inicial.cl.
 */

class ServicioBLL {

    //METODO PARA GRABAR
    public function grabar($oServicio) {
        $mensaje = $this->validar($oServicio);

        if (!Util::isNullOrEmpty($mensaje)) {
            return $mensaje;
        } else {
            return ServicioDAL::grabar($oServicio);
        }
    }

    //METODO PARA EDITAR
    public function editar($oServicio) {
        $mensaje = $this->validar($oServicio);

        if (!Util::isNullOrEmpty($mensaje)) {
            return $mensaje;
        } else {
            return ServicioDAL::editar($oServicio);
        }
    }

    //METODO PARA LISTAR
    public function listar($oServicio) {
        return ServicioDAL::listar($oServicio);
    }

    //METODO PARA OBTENER POR ID
    public function obtenerPorId($id) {
        return ServicioDAL::obtenerPorId($id);
    }

    //METODO PARA ELIMINAR
    public function eliminar($id) {
        return ServicioDAL::eliminar($id);
    }

    private function validar($oServicio) {
        $mensaje = "";

        if (Util::isNullOrEmpty($oServicio->getNombre())) {
            $mensaje .= "<br/>&nbsp;- Nombre es obligatorio ";
        }

        $totalEncontrados = $this->duplicado($oServicio);
        if ($totalEncontrados > 0) {
            $mensaje .= "<br/>&nbsp;- El nombre ya existe ";
        }

        if (!Util::isNullOrEmpty($mensaje)) {
            $mensaje = "Campos con error: " . $mensaje;
            $mensaje = substr($mensaje, 0, strlen($mensaje) - 1);
        }
        return $mensaje;
    }

    private function duplicado($oServicio) {
        return ServicioDAL::duplicado($oServicio);
    }

    //METODO PARA OBTENER POR ID
    public function obtenerPorIdEscort($id) {
        return ServicioDAL::obtenerPorIdEscort($id);
    }
    
    public function listarPorEscortTooltip($idEscort) {
        return ServicioDAL::listarServiciosPorEscortTooltip($idEscort);
    }

}

?>